home *** CD-ROM | disk | FTP | other *** search
-
- From: sgi-faq@viz.tamu.edu (The SGI FAQ group)
- Newsgroups: comp.sys.sgi.misc,comp.answers,news.answers
- Subject: SGI inventor Frequently Asked Questions (FAQ)
- Supersedes: <inventor_786697207@viz.tamu.edu>
- Followup-To: comp.sys.sgi.misc
- Date: 20 Dec 1994 06:57:30 GMT
- Organization: Visualization Lab, Texas A&M University
- Lines: 424
- Approved: news-answers-request@mit.edu
- Expires: 17 Jan 1995 07:00:07 GMT
- Message-ID: <inventor_787906807@viz.tamu.edu>
- Reply-To: sgi-faq@viz.tamu.edu (The SGI FAQ group)
- NNTP-Posting-Host: viz.tamu.edu
- Originator: sgi-faq@viz
-
- Archive-name: sgi/faq/inventor
- Last-modified: Sat Dec 17 12:14:17 CST 1994
-
- SGI inventor Frequently Asked Questions (FAQ)
-
- This is one of the Silicon Graphics FAQ series, which consists of:
-
- SGI admin FAQ - IRIX system administration
- SGI apps FAQ - Applications and miscellaneous programming
- SGI audio FAQ - Audio applications and programming
- SGI graphics FAQ - Graphics and user environment customization
- SGI hardware FAQ - Hardware
- SGI impressario FAQ - IRIS Impressario
- SGI inventor FAQ - IRIS Inventor
- SGI misc FAQ - Introduction & miscellaneous information
- SGI movie FAQ - Movies
- SGI performer FAQ - IRIS Performer
- SGI pointer FAQ - Pointer to the other FAQs
-
- Read the misc FAQ for information about the FAQs themselves. Each FAQ
- is posted to comp.sys.sgi.misc and to the news.answers and comp.answers
- newsgroups (whose purpose is to store FAQs) twice per month. If you
- can't find one of the FAQs with your news program, you can get it by
- anonymous FTP from one of these sites:
-
- viz.tamu.edu:/pub/sgi/faq/
- rtfm.mit.edu:/pub/usenet/news.answers/sgi/faq/
- ftp.uu.net:/usenet/news.answers/sgi/faq/
-
- Note that rtfm.mit.edu is home to many other FAQs and informational
- documents, and is a good place to look if you can't find an answer here.
- If you can't use FTP, send mail to mail-server@rtfm.mit.edu with the
- word 'help' on a line by itself in the text, and it will send you a
- document describing how to get files from rtfm.mit.edu by mail. Send the
- command 'send usenet/news.answers/sgi/faq/misc' to get the SGI misc FAQ,
- and similarly for the other FAQs. Finally, the FAQs are on the World
- Wide Web at
-
- http://www.cis.ohio-state.edu/hypertext/faq/usenet/sgi/top.html
-
- The SGI FAQs are freely distributable and we encourage wide circulation.
- You MUST keep the FAQs intact, including headers and this notice. The
- contents are accurate as far as we know, but the usual disclaimers
- apply. (In particular, copies of the SGI FAQs published on paper or
- CD-ROM are certain to be out of date!) Please send additions and changes
- to sgi-faq@viz.tamu.edu.
-
- Topics covered in this FAQ:
- ---------------------------
- -1- What is Open Inventor?
- -2- What is IRIS Inventor?
- -3- Is Inventor a format for 3D data?
- -4- Can I use Inventor to create 3D objects?
- -5- Is Inventor a user interface toolkit?
- -6- Is there a performance cost using a software layer on top of GL?
- -7- Does Inventor require C++?
- -8- Does Inventor work with the GNU C++ compiler?
- -9- Does Inventor have a Fortran or Ada API?
- -10- Where can I get detailed, technical information on Inventor?
- -11- How much does Inventor cost?
- -12- How can I order Inventor software and/or documentation?
- -13- How can I learn Inventor Programming?
- -14- What version of Open Inventor runs on which version of IRIX?
- -15- Why isn't Open Inventor available on the VGX/PI/GTX or GT?
- -16- What new features are in Open Inventor that weren't in IRIS
- Inventor?
- -17- Will my IRIS Inventor programs stop working if I install Open
- Inventor?
- -18- How hard is it to port from IRIS Inventor to Open Inventor?
- -19- When I compile my Inventor program, I get an error in
- SoDebugError.h.
- -20- What version of IRIS Inventor runs on which version of IRIX?
- -21- Will I be automatically upgraded to Open Inventor if I have IRIS
- Inventor?
- -22- Why do I get errors compiling the Inventor sample programs?
-
- ----------------------------------------------------------------------
-
- Subject: -1- What is Open Inventor?
- Date: 30 Apr 94 15:45:00 CDT
-
- Open Inventor is an object-oriented 3D toolkit offering a
- comprehensive solution to interactive graphics programming problems.
- It presents a programming model based on a 3D scene database that
- dramatically simplifies graphics programming. It includes a rich set
- of objects such as cubes, polygons, text, materials, cameras, lights,
- trackballs, handle boxes, 3D viewers, and editors that speed up your
- programming time and extend your 3D programming capabilities.
-
- Open Inventor:
- o is built on top of OpenGL
- o defines a standard file format for 3D data interchange
- o introduces a simple event model for 3D interaction
- o provides animation objects called Engines
- o provides high performance object picking
- o is window system and platform independent
- o supports PostScript printing
- o encourages programmers to create new customized objects
- o is fun to use
-
- ------------------------------
-
- Subject: -2- What is IRIS Inventor?
- Date: 30 Apr 94 15:45:00 CDT
-
- IRIS Inventor was the first release of Inventor; it is also known as
- Inventor 1.0 (Open Inventor is Inventor 2.0). It is built on top of
- IRIS GL rather than OpenGL, and has fewer features.
-
- ------------------------------
-
- Subject: -3- Is Inventor a format for 3D data?
- Date: 30 Apr 94 15:45:00 CDT
-
- Inventor defines a powerful, extensible format for 3D objects and
- scenes. The Inventor format is the standard for 3D objects on
- Silicon Graphics machines, and may become the standard for all
- machines.
-
- However, Inventor is more than a 3D object file format; it is a
- complete toolkit for writing interactive, 3D applications.
-
- ------------------------------
-
- Subject: -4- Can I use Inventor to create 3D objects?
- Date: 30 Apr 94 15:45:00 CDT
-
- Inventor is for programmers writing 3D applications, and does not
- directly provide any way for users to create 3D objects. Several
- Inventor applications have been written that create 3D objects.
-
- Showcase 3.0, which is bundled with IRIX, is a fairly simple
- example. A much more sophisticated modeller called Movieola built on
- top of Inventor is available from Radiance Software International.
-
- ------------------------------
-
- Subject: -5- Is Inventor a user interface toolkit?
- Date: 30 Apr 94 15:45:00 CDT
-
- Yes and no. Inventor contains mostly 3D objects. There is little in
- the way of conventional user interface objects such as buttons,
- dialogs, and menus. However, Inventor includes a full-fledged event
- model, a framework designed for 2D or 3D user interaction, and some
- manipulator objects for 3D user interface building. Note that the
- Inventor Xt Component and Utility Library includes some traditional
- 2D user interface widgets.
-
- ------------------------------
-
- Subject: -6- Is there a performance cost using a software layer on
- top of GL?
- Date: 30 Apr 94 15:45:00 CDT
-
- Sometimes. Note that few GL programs achieve peak graphics
- performance. This is because most applications have natural
- application overhead, and also because many programmers lack a
- thorough understanding of the details and eccentricities of GL. If
- you are writing a simple display-only, immediate-mode GL program,
- then it will run faster using straight GL, but not much. However, if
- your program has scene traversal, interactivity, picking, bounding
- box calculations, and other object space tasks, then Inventor will
- perform better for you. This is because Inventor is specially tuned
- to make optimal use of GL on each SGI machine. Furthermore, Inventor
- supports render caching which results in peak GL performance in most
- cases.
-
- We have found that in many cases, Inventor programs run FASTER than
- the original GL program, and that the programmer productivity
- increases easily outweigh the overhead of the toolkit.
-
- ------------------------------
-
- Subject: -7- Does Inventor require C++?
- Date: 30 Apr 94 15:45:00 CDT
-
- No. You can use the C API and never see or use C++. However,
- subclassing to extend the toolkit does require C++.
-
- ------------------------------
-
- Subject: -8- Does Inventor work with the GNU C++ compiler?
- Date: 30 Apr 94 15:45:00 CDT
-
- No, Inventor requires SGI's C++ compiler. The GNU C++ compiler and
- SGI's C++ compiler produce incompatible code, and Silicon Graphics
- does not ship an Inventor library compatible with GNU C++.
-
- ------------------------------
-
- Subject: -9- Does Inventor have a Fortran or Ada API?
- Date: 30 Apr 94 15:45:00 CDT
-
- No.
-
- ------------------------------
-
- Subject: -10- Where can I get detailed, technical information on
- Inventor?
- Date: 30 Apr 94 15:45:00 CDT
-
- The Inventor Mentor, written by Josie Wernecke, is published by
- Addison-Wesley and is available in technical bookstores (ISBN
- 0-201-62495-8).
-
- ------------------------------
-
- Subject: -11- How much does Inventor cost?
- Date: 30 Apr 94 15:45:00 CDT
-
- If you want to write Inventor applications on SGI machines, you need
- the Inventor developer's option. This option costs $995 for the Open
- Inventor release and $495 for the IRIS Inventor releases. There are
- no royalties for distributing applications based on Inventor.
-
- Every SGI machine is shipped with the libraries needed to run
- Inventor applications (they are part of the inventor_eoe installation
- subsystem); users that want to run Inventor applications on SGI
- machines do not need to pay anything extra.
-
- ------------------------------
-
- Subject: -12- How can I order Inventor software and/or documentation?
- Date: 30 Apr 94 15:45:00 CDT
-
- Call your local SGI sales representative or 1-800-800-7441 to order.
-
- ------------------------------
-
- Subject: -13- How can I learn Inventor Programming?
- Date: 30 Apr 94 15:45:00 CDT
-
- SGI Technical Education offers a week-long course in Inventor
- Programming. Call 1-800-800-4SGI to sign up.
-
- ------------------------------
-
- Subject: -14- What version of Open Inventor runs on which version of
- IRIX?
- Date: 30 Apr 94 15:45:00 CDT
-
- Inventor 2.0 runs on IRIX 5.2 and higher only.
-
- ------------------------------
-
- Subject: -15- Why isn't Open Inventor available on the VGX/PI/GTX or
- GT?
- Date: 30 Apr 94 15:45:00 CDT
-
- Open Inventor requires OpenGL, which is not currently available on
- older SGI machines.
-
- ------------------------------
-
- Subject: -16- What new features are in Open Inventor that weren't in
- IRIS Inventor?
- Date: 30 Apr 94 15:45:00 CDT
-
- Some of the main features that are new with Open Inventor are:
-
- Open Inventor Licensing
- Open Inventor 2.0 represents the first release of Inventor that
- is licensed to third parties to run on other platforms (e.g.,
- Sun, HP).
- The Inventor Mentor and The Inventor Toolmaker
- Since Open Inventor has been licensed to run on other
- platforms, the programming guides have been published and
- distributed by Addison-Wesley Publishing Company. The books are
- typically available through bookstores that offer a good
- technical book selection. The Inventor Mentor is volume I of
- the programming guide and describes the fundamentals of
- Inventor programming (ISBN 0-201-62495-8). The Inventor
- Toolmaker is volume II and provides advanced information for
- programmers who want to extend Inventor.
- Automatic caching
- Open Inventor supports intelligent, automatic caching on the
- parts of the database that are not changing. Previously,
- caching was either `on' or `off' (set at SoSeparator nodes).
- Inventor 2.0 supports a third setting, `auto'. This
- SIGNIFICANTLY improves performance and simplifies programming.
- Error handling
- Inventor now supports a formal error handling system. Note that
- the API was not affected by this change. All Inventor error
- messages are now posted to an SoError class. The application
- can supply its own error handlers, thus making it possible to
- route error messages to dialogs, as well as stderr or stdout.
- All handlers are called by the SoError::handleError() method.
- When debugging, you can set a breakpoint on this method to stop
- right before an error is handled.
- Geometry primitives and SoCallbackAction
- A new feature has been added to the generic Inventor traversal
- action, SoCallbackAction, that allows for shapes to return
- primitives (triangles, lines, points, normals, texture coords,
- etc.) describing the object.
- Naming
- Nodes, paths, and engines can have names (strings) associated
- with them. There are methods on SoBase::setName() and getName()
- to set/get names. To search for objects by name, see
- SoNode::getByName(), SoPath::getByName(), and
- SoEngine::getByName(). Also, the SoSearchAction can now search
- based on the name.
- OpenGL rendering
- Open Inventor 2.0 uses OpenGL for all rendering; there are no
- calls to Iris GL in Inventor 2.0. If you have written derived
- node classes in 1.0, the Iris GL code must be re-written to
- OpenGL.
- Printing
- Printing has been completely reimplemented using OpenGL
- rendering to an off-screen image. All rendering features can
- now be printed (e.g. textures and transparency).
- Render Culling
- Inventor now supports object level culling to the viewport.
- Culling, like caching, is controlled by SoSeparators.
- Unknown nodes
- Inventor 2.0 reads unrecognized node classes from file and
- attempts to use them. When an unknown class is read, Inventor
- will search for an accompanying DSO file and use it, (uses
- environment variable LD_LIBRARY_PATH to search for file
- classname.so) If none is found, an SoUnknownNode or
- SoUnknownEngine is created and used instead.
-
- Inventor 2.0 also supports a special option for nodes called
- alternateRep. It can store a scene graph composed of standard
- Inventor nodes which will be rendered as a stand-in for your
- unrecognized node. During writing, the node or engine is
- written back out. Note that this mechanism works only with
- Inventor 2.0 files; unrecognized nodes in an Inventor 1.0 file
- will still generate a read error. This mechanism allows user
- subclassed nodes to be exportable, renderable, and re- usable.
- SoEngine
- A new class of objects used for animation and behavior.
- Engines are lightweight objects that are connected between
- nodes, the clock, and other engines to form interesting
- behaviorial objects (e.g. spinning windmill). Engines can be
- written to file along with the 3d scene.
-
- ------------------------------
-
- Subject: -17- Will my IRIS Inventor programs stop working if I install
- Open Inventor?
- Date: 30 Apr 94 15:45:00 CDT
-
- No. The Inventor 2.0 run-time system (inventor_eoe) contains a
- complete set of compatibility libraries that will allow existing IRIS
- Inventor applications to continue to work. If necessary, it is
- possible to install both the Inventor 2.0 and Inventor 1.1.2
- development environments on the same machine; see the Inventor 2.0
- release notes for details.
-
- ------------------------------
-
- Subject: -18- How hard is it to port from IRIS Inventor to Open
- Inventor?
- Date: 30 Apr 94 15:45:00 CDT
-
- Most Inventor programs will be fairly easy to port. The Inventor 2.0
- release notes contain detailed information on converting your
- application. Most of your porting job will be fixing minor syntax
- changes (e.g. some length() methods were renamed getLength() for
- consistency with the rest of the toolkit) and fixing #include lines
- for files under /usr/include/Inventor that were moved around (e.g.
- all of the Xt components are now under /usr/include/Inventor/Xt).
-
- Inventor programs that contain a lot of IRIS GL code or that made
- extensive use of Inventor subclassing will be more difficult to port,
- since they will have to be ported to OpenGL and since the internal
- structure of Inventor underwent some major changes.
-
- ------------------------------
-
- Subject: -19- When I compile my Inventor program, I get an error in
- SoDebugError.h.
- Date: 30 Apr 94 15:45:00 CDT
-
- You, or something you #include, are #include'ing the IRIS GL header
- file (gl/gl.h). It does: "#define WARNING 2", which conflicts with
- the enum value called "WARNING" in SoDebugError. You cannot mix Open
- Inventor with IRIS GL anyway (because you cannot mix OpenGL with IRIS
- GL), so you should fix your program so it doesn't try to #include
- <gl/gl.h> it should use <GL/gl.h> the OpenGL include file.
-
- ------------------------------
-
- Subject: -20- What version of IRIS Inventor runs on which version of
- IRIX?
- Date: 30 Apr 94 15:45:00 CDT
-
- IRIX IRIS Inventor Version
- --------------------------------
- 3.3.* | (Inventor is not available for IRIX 3.*)
- 4.0.* | 1.0.1
- 5.0.1 | (bad release... do not use)
- 5.1.* | 1.1.2
- 5.2.* | Open Inventor 2.0 (1.1.2 on VGX/GTX/GT/PI)
-
- ------------------------------
-
- Subject: -21- Will I be automatically upgraded to Open Inventor if I
- have IRIS Inventor?
- Date: 30 Apr 94 15:45:00 CDT
-
- Customers with software maintenance contracts that have purchased the
- Inventor 1.0 developer's option will receive the Inventor 2.0
- developer's option when they receive IRIX 5.2.
-
- ------------------------------
-
- Subject: -22- Why do I get errors compiling the Inventor sample
- programs?
- Date: 30 Apr 94 15:45:00 CDT
-
- Inventor 1.0.1 requires C++ version 2.*. If you have C++ version 3.*
- installed on your system, you must specify the -v2 flag to compile
- Inventor programs.
-
- Inventor 1.1.2 and Inventor 2.0 work with C++ 3.*.
-
- ------------------------------
-
- End of sgi/faq/inventor Digest
- ******************************
- --
- The SGI FAQ group sgi-faq@viz.tamu.edu
- Finger us for info on the SGI FAQs, or look in viz.tamu.edu:/pub/sgi.
-
-
-